package com.sls.web.manager.recharge.service;

import java.util.List;

import com.sls.web.manager.page.Pagination;
import com.sls.web.manager.pojo.UserInfoVO;
import com.sls.web.manager.recharge.pojo.PriceTemplateSpecial;
import com.sls.web.manager.recharge.querybean.PriceTemplateSpecialQuery;

/**
 * @author sxf
 * 
 */
public interface PriceTemplateSpecialService {

	/**
	 * 可传参数:id,priceTempletCode(价格模板id),systemProductId
	 * 
	 * @param query
	 * @param userInfoVO
	 * @return
	 * @throws Exception
	 */
	public Pagination<PriceTemplateSpecial> queryPage(
			PriceTemplateSpecialQuery query, UserInfoVO userInfoVO)
			throws Exception;

	/**
	 * 可传参数:id,priceTempletCode(价格模板id),systemProductId
	 * 
	 * @param query
	 * @param userInfoVO
	 * @return
	 * @throws Exception
	 */
	public List<PriceTemplateSpecial> queryList(
			PriceTemplateSpecialQuery query, UserInfoVO userInfoVO)
			throws Exception;

	/**
	 * 可传参数:id,priceTempletCode(价格模板id),systemProductId
	 * 
	 * @param query
	 * @param userInfoVO
	 * @return
	 * @throws Exception
	 */
	public PriceTemplateSpecial queryOne(PriceTemplateSpecialQuery query,
			UserInfoVO userInfoVO) throws Exception;

	public String insert(PriceTemplateSpecial info, UserInfoVO userInfoVO)
			throws Exception;

	public boolean update(PriceTemplateSpecial info, UserInfoVO userInfoVO)
			throws Exception;

	public boolean delete(PriceTemplateSpecial info, UserInfoVO userInfoVO)
			throws Exception;

	// query special
	/**
	 * 根据系统产品表和特价模板表查询<br>
	 * 1.特价模板有的数据以特价模板为准.<br>
	 * 2.特价模板没有的数据以系统产品表的数据为准
	 * 
	 * @param query
	 * @param userInfoVO
	 * @return
	 * @throws Exception
	 */
	public Pagination<PriceTemplateSpecial> querySpecialPage(
			PriceTemplateSpecialQuery query, UserInfoVO userInfoVO)
			throws Exception;

	/**
	 * 根据系统产品表和特价模板表查询<br>
	 * 1.特价模板有的数据以特价模板为准.<br>
	 * 2.特价模板没有的数据以系统产品表的数据为准
	 * 
	 * @param query
	 * @param userInfoVO
	 * @return
	 * @throws Exception
	 */
	public List<PriceTemplateSpecial> querySpecialList(
			PriceTemplateSpecialQuery query, UserInfoVO userInfoVO)
			throws Exception;
}
